Client-controlled handover between radio technologies

ABSTRACT

In one embodiment a mobile client includes a first voice interface configured to communicate voice media via a first radio technology. A second voice interface is configured to communicate voice media via a second radio technology, which is different from the first radio technology. A data interface can communicate data via at least one of the first radio technology and the second radio technology. Call control is programmed to control the data interface to perform signaling from the mobile client for establishing parameters for a voice media session between the mobile client and a third party via a selected one of the first voice interface and the second voice interface The call control controls the signaling from the mobile client depending on which of the first voice interface and the second voice interface the call control determines to utilize for the voice media session.

TECHNICAL FIELD

The present invention relates generally to communications and, moreparticularly, to a system and method for performing client handoverbetween different radio technologies.

BACKGROUND

Fixed and mobile convergence (FMC) solutions are being developed toenable substantially seamless interoperability of differentcommunication technologies and platforms. To this end many wirelessdevices are being manufactured to support services using more than onetype of wireless communication technology. For example, portableelectronic devices, such as cellular telephones, laptop computers andpersonal digital assistants, can include interfaces that enableoperation using cellular technologies, wireless local area network(WLAN) technologies, and/or Bluetooth technologies to name a few.

As a further example, many enterprise networks support voice overinternet protocol (VoIP) that can run over one or more wirelessnetworks. For instance, WiFi voice networks currently support VoIP and,with little integration, with a wider area voice network, such ascellular networks.

SUMMARY

The invention relates generally to a system and method for performingclient-controlled handover between different radio technologies.

One embodiment relates to a mobile client that includes a first voiceinterface configured to communicate voice media via a first radiotechnology. A second voice interface is configured to communicate voicemedia via a second radio technology, which is different from the firstradio technology. A data interface can communicate data, such as via atleast one of the first radio technology and the second radio technology.Call control is programmed to control the data interface to performsignaling from the mobile client for establishing parameters for a voicemedia session between the mobile client and a third party via a selectedone of the first voice interface and the second voice interface. Thecall control controls the signaling from the mobile client depending onwhich of the first voice interface and the second voice interface thecall control determines to utilize for the voice media session.

Another embodiment of the invention relates to a mobile clientprogrammed to perform a method. The method includes determining which ofat least two different radio technologies to employ for a voice mediasession between the mobile client and a third party. A first voiceinterface of the mobile client provides for voice communication via afirst radio technology and a second voice interface of the mobile clientprovides for voice communication via a second radio technology. Asignaling interface of the mobile client is controlled, based on atleast in part on the determination, to provide signaling to at least oneof the third party and a predetermined network. The signaling beingcontrolled to provide for at least one of:

-   -   (i) establishing the voice media session between the mobile        client and the third party via a selected one of the first voice        interface and the second voice interface; and    -   (ii) transferring an on-going media session between the mobile        client and the third party from one of the first voice interface        and the second voice interface to another of the first voice        interface and the second voice interface.

Yet another aspect of the invention relates to a method that includesinitiating a call from a wireless mobile client to itself via a firstvoice interface to establish a first client call leg. The first clientcall leg provides a logical connection between the first voice interfaceand a predetermined network. The method also includes responding at thewireless mobile client to signaling received from the predeterminednetwork at a signaling interface of the wireless mobile client forestablishing a second client call leg having a logical endpoint at thesignaling interface of the wireless mobile client. The signaling that isreceived from the predetermined network is provided in response to thecall from the wireless mobile client to itself. The signaling interfacecan provide a substantially persistent connection between the mobileclient and the predetermined network. Signaling can be performed via thesignaling interface to establish a voice media session between thewireless mobile client and a third party, which session includes alogical endpoint in the predetermined network. The signaling performedvia the signaling interface can be controlled to establish the voicemedia session based on a determination made by the mobile client.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a system in which a mobile client can operateaccording to an aspect of the invention.

FIG. 2 is a functional block diagram of a mobile client that can beimplemented according to an aspect of the invention.

FIG. 3 is a functional block diagram of portions of a mobile client thatcan implemented according to an aspect of the invention.

FIG. 4 is an example of an invite request that can be utilized as partof signaling in a system implemented according to an aspect of theinvention.

FIG. 5 is an example of a reply, such as in response to the inviterequest of FIG. 4, which can be utilized as part of signaling in asystem implemented according to an aspect of the invention.

FIG. 6 is an example of an acknowledgement, such as in response to thereply request of FIG. 5, which can be utilized as part of signaling in asystem implemented according to an aspect of the invention.

FIG. 7 is a signaling diagram illustrating an example scenario forhanding off a from a first radio technology to cellular according to anaspect of the invention.

FIG. 8 is a signaling diagram illustrating an example scenario for anoutgoing call placed from a mobile client via a cellular radiotechnology according to an aspect of the invention.

FIG. 9 is a signaling diagram depicting an example scenario for ahandoff of an on-going call from a cellular radio technology to adifferent radio technology implemented by a mobile client according toan aspect of the invention.

FIG. 10 is a signaling diagram for an example scenario for receiving acall at a mobile client via a VoIP interface according to an aspect ofthe invention.

FIG. 11 is a signaling diagram illustrating an example scenario forreceiving a call at a mobile client via cellular when no other radiotechnology is available for receiving the call at the mobile clientaccording to an aspect of the invention.

DETAILED DESCRIPTION

The invention relates to an apparatus, to systems and to methods thatprovide for performing client-controlled handover between differentradio technologies implemented by a mobile client. The client-controlledhandoff can be utilized in a variety of call scenarios, including:initiating a call from a mobile client, receiving a call at the mobileclient, as well switching an on-going call at the mobile client betweendifferent radio technologies. It will be understood that, as usedherein, the phrase “client-controlled” and its variants as applied tothe handover scenarios do not require that the handoff be implemented bythe mobile client without any use of other systems or processes runningin other devices. For example, signaling and call connection with themobile client will utilize available resources, which vary according tothe type of radio technology being used. Instead, the phrase“client-controlled” is intended to convey the understanding that thedecision to perform such handoff between radio technologies as well asthe manner of establishing and maintaining a media session with themobile client, including any handoff between radio technologies, arecontrolled by the mobile client. Since handoff between radiotechnologies is under the control of the mobile client, no modificationsto existing network systems are required. Thus, the approach describedherein can be implemented more efficiently and economically since serverside application components, which are typically required, can beeliminated.

As will be appreciated by those skilled in the art, portions of theinvention, including the call control logic, may be embodied as amethod, data processing system, or computer program product.Accordingly, these portions of the invention may take the form of anentirely hardware embodiment, an entirely software embodiment, or anembodiment combining software and hardware. Furthermore, portions of theinvention may be embodied as a computer program product on one or morecomputer-usable storage medium having computer readable program code onthe medium (or media). Any suitable computer-readable medium may beutilized including, but not limited to, static and dynamic storagedevices, hard disks, optical storage devices, and magnetic storagedevices, which may reside at one location or be distributed amongstorage devices.

Certain embodiments of the invention are described herein with referenceto signaling diagrams and functional block diagrams of methods, systems,and computer program products. It will be understood that blocks of theillustrations, and combinations of blocks in the illustrations, can beimplemented by computer-executable instructions. Thesecomputer-executable instructions may be provided to one or moreprocessor of a special purpose computer, or other programmable dataprocessing apparatus (or a combination of devices and circuits, such asin the form of a mobile client) to produce a machine, such that theinstructions, which execute via the processor, implement the functionsdescribed with respect to the block or blocks.

These computer-executable instructions may also be stored incomputer-readable memory that can direct a computer (or computers) orother programmable data processing apparatus (e.g., a mobile client) tofunction in a particular manner, such that the instructions stored inthe computer-readable memory result in an article of manufactureincluding instructions which implement the function specified in theblock or blocks. The computer program instructions may also be loadedonto one or more computer or other programmable data processingapparatus or appliance to cause a series of operational steps to beperformed on the computer or other programmable apparatus or applianceto produce a computer implemented process such that the instructionswhich execute on the computer or other programmable apparatus providesteps for implementing the functions specified in the flowchart block orblocks as well as provide for types of signaling depicted in signalingdiagrams.

In certain embodiments, the mobile client can be a multi-mode deviceconfigured to operate in any number of two or more different radiotechnologies, any of which may be utilized to send or receive a voicecall as well as communicate data to perform signaling. As used herein,the term “radio technology” and variations of this term are intended toencompass any form of wireless communication that may be utilized tosend, to receive or to send and receive audio signals (including voicesignals), data signals or a combination of voice and data signalswithout requiring a hard-wired or other physical connection. Examples ofdifferent radio technologies include cellular telephones (e.g., 2G, 3Gor 4G Global System for Mobile (GSM) technologies), personalcommunication system (PCS) communication technologies, wirelessnetworks, (e.g., wireless local area networks (WLAN), such as WiFi;wireless metropolitan area networks (WirelessMAN), such as WiMAX; andany variation and improvements thereof), satellites, Bluetooth, two-way(or half-duplex) radio, and any combinations thereof. Those skilled inthe art will understand and appreciate that various standards andprotocols exist and have yet to be developed to enable communication ofdata and voice via these and other radio technologies. For example, themobile client can be embodied in any form of technology, such asincluding a cellular telephone, personal digital assistant (PDA), aportable computer (e.g., a laptop computer, or tablet computer) and thelike.

As used herein, a “logical connection” can refer to any path (direct orindirect) that information may travel between two or more endpoints. Theendpoints of a given logical can reside in different hardware componentsor the same hardware components. As an example, the endpoints of alogical connection can be identified by addresses (e.g., IP addresses),ports or a combination of addresses and ports. Those skilled in the artwill understand and appreciate various approaches and protocols that canbe utilized for different endpoints to establish and to communicate witheach other over a logical connection. The protocols further may varyaccording to the type of path that forms the logical connection. Forinstance, the path between endpoints of a logical connection can includeone or more physical connections (e.g., wires, optical fibers or othercircuitry), wireless connections (e.g., using any radio technology), ora combination of physical and wireless connections.

Turning to FIG. 1, a system 10 is depicted in which a mobile client 12can operate according to an aspect of the invention. The mobile client12 can be implemented as a multimode device that includes a plurality of(i.e., two or more) wireless interfaces. The mobile client 12 isconfigured to communicate data and voice using one or more of thewireless interfaces. Each wireless interface employs a correspondingcommunication protocol for communication of voice, data and or voice anddata via an associated radio technology. For example, the mobile client12 can include a data interface and a voice interface that can beemployed to send and receive data and voice, respectively, relative tothe mobile client using a first radio technology (e.g., a cellular radiotechnology). The protocol can permit concurrent communication of voiceand data via corresponding interfaces of the mobile client. Another ofthe wireless interface at the mobile client 12 can be configured toprovide for communication of voice, data or a combination of voice anddata via a radio technology different from the first wireless interface.

As described herein, the mobile client 12 includes a call control 14that is programmed to control calling functionality for the mobileclient, including transfers or handoff of a call from one radiotechnology to a different radio technology. Such transfers can beimplemented by the call control 14 of the mobile client 12 as a handoverfor an on-going voice call session or, alternatively, the transfer canbe performed as part of a process to establish a new voice call sessionover a selected one of the different radio technologies.

The mobile client 12 thus can communicate through one or more publicnetwork 16 using a first radio technology via a communication link 18.The mobile client 12 can also communicate with a private enterprisenetwork 20 using a second radio technology via another communicationlink 22, such as a wireless link with one or more wireless access pointin the enterprise network 20. The mobile client can include data andvoice interfaces to provide for communication of data and voice mediathrough each of the communication links 18 and 22.

As one example, the mobile client 12 can employ a cellular interface toconnect to a base station 24 of a cellular network via the wirelesscommunication link 18. For instance, the communication link 18 can beimplemented according to a corresponding cellular telecommunicationsprotocol (e.g., 2G, 3G or 4G Global System for Mobile (GSM)technologies, PCS). In the example of FIG. 1, the base station 24 is incommunication with the public network(s) 16, which communication can beprovided via a physical or wireless connection. The public network 16may include one or more Public Land Mobile Network (PLMN) and/or thePublic Switched Telephone Network (PSTN). Thus, at least one of thewireless interfaces in the mobile client 12 can provide a link to thepublic network 16 via the base station 24.

The enterprise network 20 is also coupled to the public network 16, suchas via a public network gateway (e.g., a PSTN gateway)/media server 26.The gateway/media server 26 provides a node in the enterprise network 20that is configured for interfacing with the public network 16. This nodecan provide a logical endpoint having an address in the network 20. Forinstance, the gateway/media server 26 may contain devices such asprotocol translators, impedance matching devices, rate converters, faultisolators, or signal translators as necessary to provide systeminteroperability between the enterprise network 20 and the publicnetwork 16.

The enterprise network 20 also includes an IP-PBX 28 in communicationwith gateway/media server 26, such as via a plurality of telephone linesor an ISDN interface (e.g., PRI/BRI). The IP-PBX 28 can provide avariety of PBX functionality as well as provide for communication usingan IP protocol, including VoIP for devices residing in communicationwith the enterprise private network via a VoIP interface (e.g., themobile client 12 via the link 22 or a third party 30. There can be anynumber of one or more third parties 30.

The third party 30 can be connected to the public network 16, such ascorresponding to a mobile or wireless device (e.g., such as anothermobile client or other type of mobile device), or a telephone connectedto the PSTN—either directly or through a PBX. Additionally oralternatively, the third party 30 can correspond to a device that exists(e.g., as a network location) in the enterprise network 20. Forinstance, the third party 30 can be a station that is connected to theIP PBX 28, such as in the form of a VoIP telephony unit that is capableof communicating with the IP PBX using an IP protocol. The gateway/mediaserver 26 of the enterprise network 20 can include one or moreapplications (e.g., a media server) programmed to control routing ofvoice and data streams to and from devices and processes operatingwithin the network.

The mobile client 12 is configured with a data interface that provides asubstantially persistent data connection with the enterprise network 20.The mobile client 12 can employ the data interface to communicate withthe enterprise network 20 and, in particular, with the IP PBX 28 using acorresponding radio technology. It will be understood that any one ofthe plurality of available radio technologies can be used for this datainterface. Additionally, the radio technology for such data interfacecan be fixed or it may change during operation based on the availabilityof a coverage using the different radio technologies.

The IP PBX 28 can include a registrar (e.g., a SIP registrar) 32 thatcan store a number of contact addresses for a set of registered users.The registrar 32, for example, can include a server (e.g., a SessionInitiation Protocol (SIP) server) and memory that stores the contactaddresses and other information associated with each of the registeredusers. The registrar 32 thus can include address data for eachregistered user, such as including an IP-address, one or more enterprisetelephone number, a local extension within the enterprise network 20 orother information that can be used by the IP PBX 28 to uniquely identifyand contact each client registered in the network.

The mobile client 12 can employ a data interface to register itself withthe IP PBX 28 (as well as other nodes) of the network 20, whichregistration establishes a defined endpoint at the mobile client forsending and receiving data communication. For instance, the mobileclient 12 can employ such data interface to register its contact address(e.g., an IP address and port) with the IP PBX 28, such as at power up.The mobile client 12 may also update its contact address periodicallyvia the substantially persistent connection provided via the datainterface. The data interface of the mobile client 12, for example, canbe a signaling interface, such as a SIP interface. Thus, once the mobileclient 12 is registered, the IP PBX 28 can initiate signaling toestablish a session with the mobile client based on the contact addressand other information stored in the registrar 32.

The IP PBX 28 thus can employ a signaling protocol, such as the SessionInitiation Protocol (SIP), to create, modify and terminate a sessionwith one or more participants. SIP is a well known application-layercontrol (signaling) protocol for creating, modifying and terminatingsessions with one or more participants. Details about SIP are set forthin RFC 3261 and its extensions, which is maintained and published by theSession Initiation Protocol (SIP) working group of the InternetEngineering Task Force, and which is incorporated herein by reference.Those skilled in the art will understand that other signaling protocolscan be utilized by the mobile client 12 and the enterprise network 20 toset up and tear down a media (e.g., a VoIP or data) session connectionbetween the mobile client and other parties and devices. Examples ofsome other protocols that can be utilized in the system 10 to set up andtear down a media session include the H.323 protocol and the Skinny CallControl Protocol (SCCP), which is a proprietary terminal controlprotocol of Cisco Systems, Inc. The signaling can also include sessiondescription information that defines or proposes parameters orinitializing streaming media, such as for a VoIP media session.

By way of further example, the mobile client 12 can include two moretelephone numbers, such as a public enterprise telephone number (alsoknown as a “one number”) and a private cellular telephone number. One orboth of these numbers may be stored in the registrar 32 for the mobileclient 12. Thus, if the third party 30 calls the public enterprisenumber via a connection 34 with the public network 16, the call isrouted from the public network to the gateway/media server 26 of theenterprise network 20. The gateway/media server 26 employs signaling toforward the call to the IP PBX 28, which employs the registrar 32 toascertain to where the call should be connected. Based on theinformation in the registrar 32, the IP-PBX 28 performs signaling to thecontact address of the mobile client 12. The mobile client 12 is alsoconfigured to perform signaling via its data interface to establish acall leg between the mobile client and another endpoint, such as may bea data session or a voice media session.

According to an aspect of the invention, the mobile client 12 isprogrammed to determine which radio technology should be used forcommunicating a voice call. This determination can be made by the mobileclient 12 based on an analysis performed for one or more of a variety ofparameters, such as including available bandwidth or coverage for agiven radio technology, location of the mobile client, and/or othercharacteristics that can provide an indication of whether a voice mediasession can be sustained using a given radio technology. Thisdetermination can be made by the mobile client 12 for outgoing calls aswell as for incoming calls. The particular signaling utilized toestablish a call session for an incoming or outgoing call thus variesaccording to the determination made by the mobile client 12 as to whichradio technology should be utilized for the call and whether the call isan incoming call or an outgoing call.

In the following examples it is assumed, for simplicity of explanation,that the mobile client 12 is a dual mode device that can includes acellular voice interface and a cellular data interface (which providesthe substantially persistent data connection for communicating with theIP-PBX) both of which are provided via the communication link 18. Themobile client also includes another voice interface that communicatesusing a second radio technology via the communication link 22, which isa different type of radio technology from cellular (e.g., a VoIPinterface using WiFi or WiMAX).

As one example, for an incoming call from the third party 30 to theenterprise number of the mobile client 12, the call can be routed to theIP BPX 28 from the public network 16. Responsive to this incoming call,the IP PBX 28 can initiate signaling with the mobile client based on thecontact address data stored in the registrar 32. In this example, it isassumed that the substantially persistent data interface is a cellularinterface via the communication link 18. In response to the signalingfrom the IP-PBX 28, the call control 14 of the mobile client 12determines which voice interface to utilize for the call. Assuming that,given the ability to sustain a voice call sufficiently over eithercommunication link 18 and 22, for purposes of this example, the mobileclient will chose the communication link 22, such as due to a predefinedprecedence. Those skilled in the art will understand and appreciatevarious types of routing and least cost algorithms that can be used aspart of the call control 14.

If the call control 14 of the mobile client 12 determines that the callcan be sustained adequately using the second radio technology (e.g.,WiFi or WiMAX) via the link 22, the mobile client 12 can send a replyvia its data interface to the signaling request from the IP PBX 28 withinformation identifying parameters for establishing a media session atmobile client via its voice interface for communication over the link22. For instance, the media session can include a call leg that providesa logical connection between an IP address and port at the voiceinterface of the mobile client (as specified in the reply from mobileclient) and an address and port for a gateway/media server 26 (asspecified in the request from the IP PBX) to which the third party isconnected via the public network 16.

As an alternative example, if the call control 14 running in the mobileclient 12 determines that the incoming voice call cannot be sustainedusing the second radio technology (e.g., WiFi or WiMAX) via the link 22,the mobile client 12 determines that its cellular interface is requiredfor establishing communication with the third party 30. In thisscenario, the mobile client 12 can employ its cellular interface toinitiate a “stealth” call over the communication link 18. The term“stealth” as used in this context relates to the call being placedautomatically by the mobile client 12 and, likely, without any knowledgeby the user. Thus, from the perspective of the user, the mobile client12 alerts the user of an incoming call received via its substantiallypersistent data interface, such as by ringing and/or vibrating in aknown manner, and the user employs a man-machine interface (e.g., a talkbutton or touch screen) to answer the call. In response to the useranswering the call (or the call otherwise being answered), the mobileclient 12 initiates the stealth call to its own enterprise number viathe link 18. This call is routed from the base station 24, through thepublic network 16, to the gateway/media server 26 which passes the callto the IP PBX 28. The IP-PBX 28 in turn performs signaling back to themobile client 12, according to information stored in the registrar 32,such that call terminates as a signaling request at the data interfaceof the mobile client 12 (e.g., again via the communication link 18).

The call control 14 is programmed to recognize (based on information inthe signaling request from the IP PBX 28) that the signaling requestcorresponds to the stealth call initiated by the mobile client 12. Atthis stage, the mobile client 12 has three client call legs: two calllegs via its data interface and one call leg initiated via its cellularinterface. However, no voice media session need yet be established. Toestablish the media session, responsive to the signaling request fromthe network corresponding to the stealth call, the mobile client 12 canperform signaling to establish parameters the media session. Suchsignaling, for instance, can be employed to connect the remote party andthe logical endpoint within the voice gateway (defined by a networkaddress) where the stealth cellular call has been anchored. Thus, themedia session is established between the remote party 30 and with themobile client 12 such that the mobile client is communicating with thethird party via its cellular interface over the communication link 18.

For the example of an outgoing call placed by a user of the mobileclient 12 to the third party 30, the call control 14 of the mobileclient makes a similar determination as to which voice interface toutilize. If the mobile client 12 can sustain a voice call using thesecond radio technology (over link 22), the call control 14 can initiatea signaling request to the IP PBX 28 via its substantially persistentdata interface (e.g., cellular interface via link 18). The signalingrequest (e.g., a SIP INVITE) from the mobile client 12 can includesession description information that includes a connection address forestablishing a voice call via its voice interface associated with thesecond radio technology (e.g., a VoIP interface over WiFi). The IP PBX28 replies to the signaling request with an answer to establish theconnection parameters for the media session over the link 22 between themobile client 12 and the third party 30.

Alternatively, if the mobile client 12 determines that it cannot sustainan outgoing voice call using the second radio technology, the callcontrol 14 is programmed to cause the mobile client to, in response todialing the third party 30, place a stealth call from its cellular voiceinterface to the predetermined enterprise number for the mobile client.The call is routed from the base station 24, through the public network16 to the IP PBX 28. The IP PBX 28 The IP-PBX 28 in turn performssignaling back to the mobile client 12, according to information storedin the registrar 32, such that call terminates as a signaling request atthe data interface of the mobile client 12 (e.g., again via thecommunication link 18). In response to recognizing that the signalingrequest from the IP-PBX 28 corresponds to the stealth call that wasself-initiated by the mobile client 12 to its enterprise number, themobile client 12 employs one of its data interfaces to send a signalingrequest to a logical endpoint associated with the third party 30,namely, located at the third party. Additional signaling between themobile client 12 and the third party 30 and between the mobile clientand the IP PBX 28 can be utilized to set connection parameters forestablishing a media session between the third party and the cellularinterface of the mobile client. This media session thus can establish alogical connection between the mobile client 12 and the gateway/mediaserver 26 (wherein the stealth cellular call had been anchored) and aconnection between the gateway/media server 26 and the third party 30.As a result, the cellular initiated call from the mobile client 12 isfully established and the mobile client is communicating with the thirdparty 30 via its cellular voice interface over the communication link18.

In addition to controlling which interface to utilize when initiating anoutgoing call from the mobile client 12 and when receiving an incomingcall placed to the mobile client, the call control 14 can be programmedto control switching an active voice call between different radiotechnologies implemented by the mobile client. For instance, the callcontrol 14 can be programmed to control handoff of an active call fromthe second radio technology (e.g., WiFi or WiMAX) to cellular radiotechnology. Additionally or alternatively, the call control 14 can beprogrammed to control handoff of an active voice call from the cellularradio technology to the second radio technology. Those skilled in theart will understand and appreciate various mechanisms that can beemployed by the mobile client 12 to trigger a handoff between thedifferent radio technologies. For example, the call control 14 can beprogrammed to trigger a handoff based on a location of the mobileclient, a detected signal strength, signal quality, remaining batterypower of the mobile client, or any combination of these and/or othercriteria. Some examples of mechanisms that can be utilized by the mobileclient to trigger the handoff between different radio technologies aredisclosed in U.S. patent application Ser. No. 11/778,831, which wasfiled on Jul. 17, 2007, and entitled SYSTEM AND METHOD TO FACILITATEHANDOVER, the specification of which is incorporated herein byreference.

By way of example, assume that the mobile client 12 is engaged in anactive voice call with the third party 30 using its second radiotechnology (e.g., WiFi or WiMAX) via a VoIP interface. During thisactive voice call, the call control 14 of the mobile client 12determines that a handoff of the active call from the second radiotechnology to the cellular radio technology is required. Thisdetermination can be made by the mobile client based on a variety offactors such as described herein (e.g., location, signal strength,signal quality, battery power level, available bandwidth, and the like).In response to this determination, the call control 14 causes a stealthcall to be placed to the enterprise number via the cellular voiceinterface. The call is routed from the base station 24, through thepublic network 16 to the gateway/media server 26 and to IP PBX 28.

The IP PBX 28 employs signaling to the contact address associated withthe mobile client 12 (based on information stored in the registrar 32)so as to establish a client call leg between the IP PBX 28 and themobile client via the data interface of the mobile client (e.g., thecellular data interface that provides a substantially persistent logicalconnection with the IP-PBX). At this time, it will be appreciated thatthe mobile client 12 has three associated call legs: the initial VoIPcall leg over the link 22, the new data call leg via its data (e.g.,SIP) interface and one cellular call leg. The call control 14 employsthe session description information from the signaling that wasperformed to send another signaling request (e.g., a SIP RE-INVITE) viaits data interface to re-connect the media stream directly between thethird party 30 and the address in the gateway, which defines a logicalendpoint where the cellular initiated has been anchored.

As yet another example, assume that the mobile client 12 is engaged inan active voice call with the third party 30 via its cellular voiceinterface, such as may be established according to any of the applicablescenarios described herein. Thus, the cellular call session for themobile client 12 is anchored in the enterprise network 20. Again, it isassumed that the call control 14 is programmed to use of the secondradio technology over the cellular radio technology for voice calls,when available. In response to the call control 14 determining theavailability of coverage over the second radio technology (e.g., WiFi orWiMAX) sufficient to sustain an active voice call, the call control cantrigger a handover process. For instance, the mobile client 12 can senda signaling request to the third party 30 via its data interface withsession description information requesting that the third party mediastream for the active voice call be sent to the mobile client's VoIPinterface for the second radio technology. In response to this request,the third party can send the media stream directly to the new addressspecified in the signaling request, which corresponds to the address forthe mobile client's VoIP interface for the second radio technology,instead of the address where the cellular call leg is anchored at thegateway/media server 26. To complete the handover, the mobile client 12can send a request (e.g., BYE) via its data interface facing thecellular network to disconnect the cellular call. As a result, themobile client 12 has a single voice media call leg via its VoIPinterface for the second radio technology for communicating voice withthe third party 30.

FIG. 2 depicts an example of a mobile client 50 that can be implementedaccording to an aspect of the invention. The mobile client 50 isconfigured to communicate using more than one radio technology. Toperform such communication, the mobile client 50 includes acorresponding radio transceiver 52, 54 that is configured to providephysical controls and communication via a respective radio technology.The mobile client 50 can include any number of N radio transceivers,where N is a positive integer (N>2) denoting the number of radiotechnologies utilized by the mobile client 50. The mobile client 50 canalso include receivers (e.g., GPS) or other components (not shown) suchas can be configured to detect location of the mobile client.

Additionally, to provide for communications over each the radiotransceivers 52 and 54, the mobile client 50 includes one or moreinterface that is associated with each of the respective radiotransceivers. In the example depicted in FIG. 2, each radio transceiver52, 54 can be utilized for the communication of voice and for thecommunication of data. Thus, the mobile client 50 includes a firstwireless voice interface 56 associated with the first radio transceiver52 and a corresponding first data interface 58 also associated with thefirst radio transceiver. In this way, the mobile client 50 can employ acorresponding voice interface for communicating a voice media over thefirst radio transceiver 52 and a corresponding data interface 58 forcommunicating data over the first radio transceiver 52. Similarly, anNth voice interface 60 is associated with the Nth radio transceiver andan Nth data interface 62 also is associated with the Nth radiotransceiver 54. It is to be understood that one or more of the voiceinterfaces 56 and 60 as well as one or more of the data interfaces 58and 62 can be configured to handle one or more concurrent callsconcurrently via a respective transceiver 52, 54. Those skilled in theart will understand and appreciate various types of publicly known andproprietary wireless communication standards that each of the interfaces56, 58, 60 and 62 can be programmed to implement over a correspondingtransceiver for encoding and decoding data and voice.

The mobile client 50 also includes a processor 64 that executesinstructions stored in associated memory 66. The processor 64 furthercan execute instructions from the memory 66 for controlling operation ofthe mobile client 50, much of which functionality can vary depending onthe application requirements for the mobile client and the standards towhich it has been designed to operate. One aspect of such instructionsstored in the memory 66 and executable by the processor 64 relates tocontrolling communication of voice and data via one or more of therespective interfaces 56, 58, 60 and 62.

The processor 64 can be connected to each of the interfaces 56, 58, 60,and 62 via corresponding bus 68. Those skilled in the art willunderstand and appreciate that the bus can be a corresponding connectionor an arrangement of any number of connections and switching networks toenable internal communication within the mobile client 50 between therespective hardware components. Additionally, it is to be understoodthat each of the interfaces 56, 58, 60 and 62 can be implemented asincluding hardware, software or a combination of hardware and softwareto provide for the communication of voice and data, respectively, viathe radio transceivers.

Thus, each of the respective voice interfaces 56 and 60 can beprogrammed and/or configured to provide for the wireless transmission ofvoice media through the respective radio transceivers 52 and 54according to the respective radio technology. Similarly, each of therespective data interfaces 58 and 62 can be programmed and/or configuredto provide for wireless transmission and reception of data through therespective radio transceivers implemented according to a respectivecommunication standard. As one example, the first wireless voiceinterface 56 and first data interface 58 can be programmed andconfigured to provide for communication of voice and data, respectively,over a cellular radio technology. The data interface 58 can correspondto a signaling interface that has been registered with a PBX operatingin an associated enterprise network. The Nth voice interface 60 and theNth data interface 62 can utilize a radio technology that is differentfrom cellular, such as including WiFi or WiMAX. Thus, the voiceinterface 60 can provide for VoIP over WiFi or WiMAX. Those skilled inthe art will understand and appreciate that these examples of radiotechnologies represents but one of many possible combinations ofdifferent radio technologies that can be implemented in the mobileclient 50 according to an embodiment of the invention.

The mobile client 50 can also include a user interface 70 that a usercan employ to enter information and otherwise interact with and controlfunctionality of the mobile client. For the example of a typicalcellular telephone, the user interface 70 provides a man-machineinterface that can include an arrangement of buttons, keypad, a touchscreen or a combination thereof. One particular function of the userinterface 70 provides a man-machine interface that is configured toenable a user to initiate an outgoing call as well as to receive anincoming call at the mobile client 50.

In accordance with an aspect of the invention, the memory 66 includes acall control block 72, which represents control methods or functionsthat can be utilized to control initiation, maintenance and terminationof outgoing and incoming calls as well to control switching of anexisting on-going call between different radio technologies supported bythe mobile client 50. For instance, the call control 72 can include asignaling control 74. The signaling control 74 implements a controlprotocol for creating, modifying and terminating sessions with one ormore third party recipients remote to the mobile client 50. As oneexample, the signaling control 74 can implement an application layersignaling protocol, such as SIP or H.323. The call control 72 isprogrammed to ascertain whether a signaling request corresponds to a newcall session or if it is part of a request for further processing of anexisting call session based on information contained within thesignaling request.

In the context of an outgoing call, the signaling control 74 canfunction as a substantially persistent user-agent client that can createnew requests and employ the corresponding data interface 58 or 62 andthe corresponding transceivers 52 or 54 for performing signaling withrespect to the intended third party. The call control 72 is programmedfurther to ascertain which interface and transceiver and ultimate theradio technology that is to be utilized for a given request, such asaccording to available coverage (e.g., determined by a radio coveragefunction 82). While the signaling control 74 is depicted as residing inthe call control 72, it will be understood and appreciated that thefunctionality of the client can further reside or be distributed withinthe appropriate interfaces 58 and 62 or be implemented separately andaccessed via an appropriate call to the signaling control method.

The signaling control 74 is also programmed to respond to correspondingrequests made to one of the data interfaces 58 or 62, such as byaccepting, rejecting or redirecting a request. At least one of the datainterfaces 58 or 62 is configured to provide substantially persistentavailability for communication with a private enterprise network towhich the mobile client 50 has been registered. The registration withinthe private enterprise network can include providing a correspondingcontact address or data address associated with such interface, whichcan be available in a persistent manner, such as for communicating witha node in the enterprise network. For example, an IP PBX operating as anode in the enterprise network can include a registrar in which thecontact address for the substantially persistent data interface has beenstored. Thus, the IP PBX can perform signaling to such data interface 58or 62 of the mobile client 50, such as in response to a call initiatedby a third party as well as to a call initiated by the mobile clientitself to a corresponding enterprise telephone number to which thecontact address has been associated.

The call control 72 also includes a handover control block 76. Thehandover control 76 is programmed to determine if an on-going mediasession between the mobile client and a remote third party should betransferred between different radio technologies implemented by themobile client 50. Those skilled in the art will understand andappreciate various mechanisms and algorithms that can be utilized todetermine whether an existing call should be handed off to a differentradio technology, such as those examples described herein as well othersknown or yet to be developed in the state-of-the art. The handovercontrol 76 can base the handoff decision on whether a voice call can besustained using a given radio technology.

As a further example, the mobile client 50 can include or utilize aradio coverage function 80 that is programmed to ascertain whether avoice call can be sustained using one or more of the radio technologies.The radio coverage function 80 can analyze one or more characteristicsassociated with operation of the mobile client as it relates to a givenradio technology. For instance, the radio coverage function 80 cananalyze one or more indicators for a location of the mobile client(e.g., base station ID, access point ID, GPS, and the like), signalstrength for the given radio technology, signal quality for the givenradio technology, battery power level for the mobile client, or othermechanisms described herein. Based on the analysis, the radio coveragefunction 80 can provide an indication of whether coverage is sufficientto sustain a voice call for a voice interface associated with the givenradio technology. The radio coverage function 80 can be utilized by thecall control 72, including the handover control 76.

By way of example, the signaling control 74, handover control 76 andradio coverage function 80 can work in conjunction with an interfacecontrol system 82 that is programmed to control operation of therespective communication interfaces 56, 58, 60 and 62. The processor 64thus can implement the signaling control 74 and the interface control 82for initiating communication via a desired data interface 58 or 62 aswell as through a corresponding voice interface 56 or 60. For example,the call control 72 can ascertain which radio technology should beutilized in a given call scenario based on the coverage indicatorprovided by the radio coverage function 80 for initiating a voice call.The handover control 76 can also leverage the coverage indicatorprovided by the radio coverage function 80 for an on-going call as wellas other handoff criteria (e.g., rate plan information) to controlswitching between radio technologies.

The call control 72 can employ the signaling control 74 in conjunctionwith the interface control 82 for sending the signaling request orotherwise initiating a call over the appropriate voice or datainterface. Similarly, in response to detecting an incoming call such asvia one of the voice or data interfaces, appropriate signaling can beextracted from the interface via the signaling control instructionsexecuted by the processor. Appropriate signaling responses can be sentback to through corresponding interface with appropriate sessiondescription information so that a corresponding voice call can beconnected using the corresponding voice interface 56 or 60, such asdescribed herein. In order for the mobile client to provide for wirelessvoice communication, it will be understood that at least one wirelessvoice interface 56 or 60 should be capable for providing wireless voicecommunication relative to the mobile client at any given time.Additionally, as mentioned above, at least one of the data interfacescan be registered to provide substantially persistent connection with aprivate network so as to be available for signaling under the control ofthe signaling control 74.

By way of example, in a mobile client 50 where the first radiotechnology is a cellular radio technology and the Nth radio technologycorresponds to a WiFi technology, it becomes more practical, due to themobility of the client relative to the WiFi network, to employ thecellular data interface 58 as the substantially persistent datainterface that is registered with the private network. It is further tobe understood that the mobile client 50 can receive two or moresimultaneous or concurrent or calls through its substantially persistentdata interface 58. In this way, during an on-going active voice call themobile client 50 can send as well as receive multiple signaling requestsso that signaling can be sent over multiple call legs for establishing adesired voice media session.

FIG. 3 depicts an example of a functional block diagram of a mobileclient system 100 for performing client-controlled handover betweendifferent radio technologies according to an aspect of the invention.The system 1 00 can be implemented as a computer-implemented method,such as according to instructions stored in memory (e.g., 66 of FIG. 2)that are executed by one or more processor (e.g., 64 of FIG. 2). In oneembodiment, the system 100 is implemented software running in a mobileclient device, such as a described herein.

The system 100 includes a call manager 102 that is programmed forcontrolling operation of the communication interfaces in the mobileclient. In the example of FIG. 3, the mobile client includes a pluralityof voice interfaces 104 and 106 indicated as the first voice interfacethrough the P voice interface, where P is a positive integer denotingthe number of voice interfaces (P>2). The call manager 102 thus controlsand routes data, such as in the form of packets or packetized data, toan appropriate one of the wireless voice interfaces 104 and 106. Each ofthe voice interfaces 104 and 106 can be utilized to communicate voicedata over a different radio technology.

The call manager 102 also controls one or more signaling interface 108for the communication of data, such as including for performingsignaling for a call that may be initiated by the mobile client functionand responding to signaling that may be sent to the mobile clientwirelessly. The signaling interface can perform such signaling andresponding via a corresponding radio technology that is implemented bythe mobile client. In the example embodiment of FIG. 3, it is to beunderstood that the signaling interface 108 employs a radio technologythat can provide a substantially persistent communication link betweenthe mobile client and a private network to which the mobile client hasbeen authenticated. Examples of cellular radio technologies that can beutilized to provide such a persistent communication link include EDGE,EDGE Evolution, EV-DO, UMTS to name a few. Those skilled the art willunderstand other existing and yet to be developed cellular networkprotocols that can be utilized by the signaling interface 108. Theparticular radio technology typically varies according to the cellularservice provider for the mobile client. It will be appreciated that thesignaling interface 108 may be fixed to particular radio technology or,alternatively, it may switch between different radio technologies (andre-register with the associated network), such as may vary based onavailable coverage and/or other operating requirements of the mobileclient system 100.

The signal interface 108 further can include other functionality such asthe set of methods associated with the above-incorporated SIP protocolRFC 3261. For example, the signaling interface 108 thus may beprogrammed to include a registration method 110, an invite method 112, are-invite method 114, and a reply/ACK method 116.

The registration method 110 is programmed to register the signalinginterface with the private network and in particular with apredetermined node of the private network, such as an IP PBX operatingin the private network. The registration method 110 can involvecommunication of an address and port identification for the mobileclient for communication of signaling requests to the mobile client fromthe IP PBX. Additionally, the registration at the network side canprovide for storage or identification of one or more public telephonenumbers such as an enterprise number to which the public network willroute calls to the IP PBX intended for the mobile client. Additionally,calls internally made from within the private network can be made viashort number dialing, such as by an extension or other short number ofdigits. Thus, the network can associated any number of one or moretelephone numbers or identifies with the mobile client for routinginternally and externally initiated calls via signaling to the contactaddress for the mobile client system 100.

The signaling interface 108 further can include a media session controlblock 11 8 that is programmed for providing session descriptioninformation to signaling requests and replies that can be utilized by athird party or the IP PBX for establishing session descriptionparameters for a given media session. The session descriptioninformation can be provided in a predefined format for describingstreaming media initialization parameters, such as according to arevised specification published by the Internet Engineering Task Forceas RFC 4566, which is entitled “SDP: Session Description Protocol,” andwhich is incorporated herein by reference. Those skilled in the art willunderstand and appreciate other protocols and types of information thatcan implemented by the media session control 118 of the signalinginterface 108.

The system 100 can include a coverage detection function 120 that isprogrammed to determine an indication of call coverage for one or moreof the voice interfaces 104 and 106. Those skilled in the art willunderstand various parameters that can be analyzed and metrics that canbe employed to ascertain the level of coverage the mobile client hasusing a respective radio technology.

By way of example, the coverage detection function 120 in FIG. 3includes a signal monitor 122. The signal monitor 122 can be utilized tomonitor wireless signals received by the mobile client from one or morebase stations. The signal monitor can provide signal information thatcharacterizes a property of the signals monitored via a respectiveinterface 104 and 106. For the example of a cellular radio technology,the base station typically corresponds to a cellular tower, whereas fora WiFi radio technology, the base station can correspond to an accesspoint or a signal repeater. As one example, the signal monitor canprovide an indication of signal strength and/or signal quality for oneor more base stations from which a given interface 104 or 106 receivessignals. For instance, the indication of signal strength can be based onmeasurements of signal strength performed by the signal monitor 122 ofthe mobile client. The signal strength can also include an indication ofthe signal strength of a signal transmitted from the mobile client to abase station. The signal strength indicator can be considered separatelyfor each of the base station with which each voice interface is incommunication. Alternatively, the signal strength characteristics can beaggregated for a plurality of base stations.

Additionally, or alternatively, the signal monitor 122 can be programmedto determine an indication of signal quality for communication using oneor more radio technology. The signal monitor 122, for example, candetermine signal quality as a signal to noise ratio (SNR), a signal tointerference plus noise ratio (SINR), a path loss computation, otherapproach or combination of different approaches to ascertain a level ofsignal quality for wireless communication. The particular mechanism (orcombination of mechanisms) used to determine signal quality further mayvary according to the type of radio technology.

The coverage detection function 120 can also include a location monitor124. The location monitor 124 can be utilized to provide locationinformation that represents a relative or absolute location of themobile client. Those skilled in the art will understand and appreciatevarious approaches that can be utilized to determine a location of themobile client. For example, the location of the mobile client can bedetermined from call data, such as a base station ID (e.g., cell ID,access point name, or the like), a location area code (LAC), as wellfrom global position system (GPS) data, or other beacons or informationthat can be utilized to ascertain a location of the mobile client via arespective interface 104,106,108 or other components (not shown).Additionally or alternatively, the location monitor 124 can employinformation from the signal monitor 122, such as signal informationmentioned herein. As a further example, the location information can beemployed to determine a relative location or proximity of the mobileclient with respect to the wireless network supported by the privatenetwork to which the mobile client has been authenticated. Theindication of location can be derived based upon a variety of locationparameters.

The coverage detection function 120 can employ any one or combination ofparameters, such as signal information, location information or acombination of signal information and location information to determinewhether the mobile client can sustain a voice media session using arespective voice interfaces. For example, the coverage detectionfunction 120 can determine whether a voice call can be sustained over agiven one or more of interfaces 104 and 106 based on the signalstrength, based on signal quality or based on signal strength and signalquality determined by the signal monitor 122. Additionally oralternatively, the coverage detection function 120 can determine whethera voice call can be sustained over a given one or multiple interfaces104 and 106 based on the location information provided by the locationmonitor. The coverage detection function 120 thus can collect a varietyof information associated with the signals or other information that itreceives via its radio interfaces and thereby determine whether a voicecall session can be maintained over a given radio technology.Additionally, the location and/or signal information can be comparedrelative to mapping or footprint data for a given geographic region aspart of the decision about which voice interface 104 or 106 should beemployed for a voice call. The predetermined mapping data can beprogrammed by an administrator, the mapping data can be acquired frommobile clients or the mapping data can be both programmed and learnedfrom mobile clients over time.

Additionally, each of the voice interfaces 104 or 106 can be assigned anorder or precedence that indicates a preference as to which voiceinterface is used by the mobile client system 100 for a voice call. Thecall manger 102 can thus be programmed to utilize a selected voiceinterface for a voice media session according to which voice interfacehas a highest level of precedence and has been determined to be capableof sustaining a voice call. The precedence can be fixed regardless ofother operating parameters. Alternatively, the precedence can beassigned as a function of one or more operating parameters, such asleast cost routing, time of day, expected quality of service or thelike.

The system 100 further includes a handoff control 130 that is programmedto control switching between different radio technologies, such as toswitch an active voice call from the first voice interface 104 to adifferent voice interface 106. The handoff control 130 can be programmedto trigger a handover event between radio technologies based on avariety of trigger mechanisms such as described herein. The handovercontrol 130 can utilize the coverage indicator information obtained fromthe coverage detection function 120 for one or more of the voiceinterfaces 104 and 106. While the coverage detection function isdepicted as a separate block, it will be understood that the same orsimilar functionality can be implemented as part of the handoff control130.

As a further example, the handoff control 130 can include a handoffanalysis method 132 that is programmed to apply coverage detectioninformation, such as determined by the coverage detection function 120(e.g., from the signal monitor 122 and/or location monitor 124),relative to predetermined handoff criteria 134. The handoff criteria 134can establish a predetermined set of one or more metrics indicative ofcircumstances when handoff may be required or desired. The handoffanalysis 126 can implement a corresponding algorithm that determines ifcircumstances (based on application of the coverage detection and otherhandoff parameters to the handoff criteria 1 34) are appropriate forrequiring handoff. In response to the application of the handoffcriteria 134 to the results of the coverage detection information (aswell as any other handoff indicating parameters that may be monitored),the handoff control 130 can employ a handoff trigger 136 to cause thecall manger 102 to initiate a handoff between different radiotechnologies associated with the voice interfaces 104 and 106. Someadditional implementation examples that can be utilized by the handovercontrol to control the handoff between different radio technologies aredisclosed in the above-incorporated U.S. patent application Ser. No.11/778,831. The call manager logic can be programmed to employ differentprocedures depending on which types of radio technologies are beingutilized before, during and after the handoff.

By way of example, the call manger 102 can receive (or maintain) calldata 140, such as may vary in response to information entered via a userinterface 142 of the mobile client system 100. The call data 140, forexample, can include call state data that represents an indication ofthe state of a call. The call can have a call connected state, a callset up state or a call disconnected state. The particular state of thecall further can vary in response to instructions received from a userinterface 142 for the mobile client system 100. The user interface 142can provide instructions to connect or disconnect a call as well asprovide a called number entered by a user. It is to be understood andappreciated that the signal monitor 122 and the location monitor 124 aswell as any other parameters could be monitored for determining which ofthe plurality of radio technologies should be utilized for a voice mediasession between the mobile client system and the third party.

As described herein, the call manager 102 of the mobile client canemploy the signaling interface 108 to set up a voice call using one ofthe voice interfaces 104 or 106 as well as to perform a substantiallyseamless handover of an on-going voice call between different radiotechnologies. By way of further example, FIG. 4 depicts an example of aSIP-based invite request 150, such as can be sent to a contact addressassociated with a signaling interface of a mobile client according to anaspect of the invention. In the example FIG. 4, the invite request 150include a set of SIP header fields 152 as well as session descriptioninformation 154 that includes details associated with the media sessionbeing requested.

Thus, the SIP header field 152 identifies the respective parties as wellas provides a unique identifier 156 for the transaction being initiatedand a global unique identifier for the call (or Call-ID) indicated at158. The invite request 150 also includes a command sequence (Cseq) forthe method name being provided by the request, which in the example ofFIG. 4 corresponds to a 101 code for an INVITE request. Also provided inthe request 150 is a contact address of the gateway corresponding to theSIP URI for directly routing the call to the source of the inviterequest, indicated at 160.

The session description portion 154 also includes details about theprotocol formats and specific connection information associated with theinvite request 150 and the media session being requested. Those skilledin the art will understand and appreciate various coding formats thatcan be utilized to provide for the session details. For example, theconnection information in the session description can include a specificconnection address for sending the media package, which address isindicated at 162 via the designator “c” and a port number is indicatedat 164 via the media designator “m”. Those skilled in the art willunderstand and appreciate other types of information and session detailinformation that can be provided for establishing a media session, suchas based on any known or yet to be developed public or proprietarystandard.

FIG. 5 depicts an example of a reply 180 that can be sent from a mobileclient in response to the invite request 150 of FIG. 4. The reply 180includes a plurality of SIP header fields 182 so that the reply can berouted to the sender and be linked to the respective transaction, suchas by including the same Call-ID 158 and the transaction identifier 156as were in the invite request 150 (FIG. 4). Also included with the replyis a SDP media description 184. The SDP media description 184 includesinformation associated with the type of media session that is to beestablished including a specific IP address 186 and a port 188 at themobile client (which provides the reply 180), which port and IP addressassociated with a voice interface at the mobile client to which themedia session will be connected.

FIG. 6 depicts an acknowledgement 190, such as can be provided by the IPPBX or media server in response to the reply 180 of FIG. 5 (e.g., fromthe mobile client). The acknowledgement 190 thus identifies thesignaling message as an acknowledgement that confirms the parameters andprotocols associated with the media session being established (as setout in the invite 150 of FIG. 5 and the reply 180 of FIG. 5). Theacknowledgement 200 thus includes the global unique identifier or callID 158 associated with the media session as well as the transactionidentifier 156 associated with the signaling.

FIGS. 7-11 depict signaling diagrams for examples of different sequencesof signaling that can be utilized for different call scenarios, such asfor establishing calls and handing over calls between a mobile client200 and a third party 202. It is to be understood and appreciated that,depending upon the circumstances, the third party may be within theprivate enterprise network 212 to which the mobile client has beenauthenticated or, alternatively, the third party may be outside of theenterprise network. In the examples of FIGS. 7-11, the communicationsystem is depicted as including a public network 204 to which the thirdparty can initiate and receive calls from. Additionally the mobileclient 200 can be connected to the public network through a cellularinterface 206. The public network 204 can be connected to agateway/media server 208 and the gateway/media server further can beconnected to a PBX 210 that is programmed to perform traditional PBXfunctions as well as include routing calls to the mobile client whenplaced to the enterprise number that is registered for the mobileclient. Thus the gateway/media server 208 and PBX 210 can be consideredto be part of an enterprise network 212. The PBX can be an IP-PBX, suchas described herein.

In addition to the cellular interface 206, the mobile client alsoincludes another voice interface, such as a VoIP interface 214 and asubstantially persistent data interface 216, such as for performingsignaling (e.g., SIP signaling) via the enterprise network 212. The datainterface 216 can employ a given radio technology, which can remainfixed or may be modified during operation. It is to be understood andappreciated that the mobile client may include additional interfaces tothose interfaces depicted in FIGS. 7-11. Additionally, the mobile client200 includes call control methods 218 that are utilized to control callsignaling, handover as well as other features associated with sending,receiving requests for calls as well as switching calls betweendifferent radio technologies such as described herein. FIGS. 7-11demonstrate example scenarios consistent with the SIP signaling to setup or handoff a call session although, as described herein, theinvention can be practiced in other embodiments by employing one or moredifferent types of signaling (e.g., according to any known or yet to bedeveloped signaling protocols).

FIG. 7 depicts an example of a method implemented by the mobile client200 for performing a handoff for an existing voice call, which isconnected using the VoIP interface 214, to the cellular interface 206according to an aspect of the invention. At the start of the signalingprocess it is presumed that the mobile client 200 has been registeredwith the PBX 210 through a corresponding registration process, such asby employing a SIP registration function to upload a contact address forthe mobile client 200 with a registrar in the PBX 210. Such registrationcan occur at power-up as well as may be periodically updated duringoperation, for example. In the example of FIG. 7, it is presumed thatinitially a voice call is connected between the mobile client 200 andthe third party 202, such as via a WiFi network (or other wireless datanetwork) using RTP media sessions between the VoIP interface 214 of themobile client and the third party 202.

During this on-going voice call, the call control 218 of the mobileclient 200 determines that the call should be switched from the WiFiradio technology to the cellular radio technology. Those skilled in theart will understand and appreciate various mechanisms that can beemployed to reach this determination based on the teachings containedherein. In response to this determination, the call control 218 causesthe mobile client 200 to initiate a stealth call to itself via its ownenterprise number using the cellular interface 206. The call is routedto the public network 204 from the cellular service and the publicnetwork initiates a call set-up to the gateway/media server 208, such aspart of the enterprise 212.

The gateway/media server 208 in turn sends an invite request with an SDPoffer for a media session to the PBX 210. The invite request identifiesthe enterprise number of the mobile client (or otherwise identifies themobile client) to which the call was placed. The PBX 210 performs alook-up for the location of the client based on the contact addressstored in its registrar and sends an invite to the substantiallypersistent data interface 216 that has been registered for the mobileclient 200. This invite includes an SDP offer associated with the mediasession from the stealth call that was initiated by the mobile client.The call control 218 detects that the invite request from the PBX 210corresponds to the self-initiated call to its own enterprise number.This can be based on information in a “FROM” field (e.g., Caller ID) orother data provided in the invite request from the PBX 210 to the datainterface 216.

In response to this invite request (from the PBX), the call control 218causes the mobile client 200 to send a re-invite from the data interface216 to the third party 202 with a corresponding SDP offer. Thisre-invite is typically sent through PBX 210, which corresponds to anoutgoing call from the client to the third party 202. The SDP offer inthis re-invite request includes an address and port or other identifyinginformation for requesting the third party 202 to send its media not tothe VoIP Interface 214, but instead to an address and port at thegateway/media server 208 to which the cellular call placed by the mobileclient 200 will be connected. The re-invite includes the appropriatetransaction identifier and global unique identifier for the call so thatthe third party 202 knows that the re-invite corresponds to a change inthe session description associated with the existing voice call betweenthe mobile client 200 and third party. The third party 202 accepts there-invite by sending a reply back to the data interface 216 with acorresponding SDP answer.

The data interface 216, in response to this reply from the third party202, sends a reply back to the initial invite from the PBX 210 thatincludes an SDP answer. The PBX 210 in turn sends a reply back to thegateway/media server 208 with a corresponding SDP answer, so that thegateway/media server can in turn send a connect message back through thepublic network and the cellular interface 206 for establishing thecellular voice call connection between the cellular interface and thegateway/media server 208. Acknowledgements are sent to each of thereplies between the gateway/media server and PBX and from the PBX to thedata interface 216 and back from the data interface to the third partyto enable a substantially seamless handover of the existing call fromthe WiFi radio technology to the cellular radio technology. As a result,the voice media session is established between the cellular interface206 and the third party 202 via a call cellular call leg (voice media)between the cellular interface 206 and the gateway/media server 208 and(voice media) between the gateway/media server and the third party.

FIG. 8 depicts a signaling diagram for a scenario when a telephone callis placed from the mobile client 200 (e.g., in response to a userdialing the third party) in a situation when the call control 218determines that no wireless connection is available to sustain the voicecall using the VoIP interface 214. Again, in this example, it ispresumed that the mobile client 200 has been registered with the PBX 210through an appropriate registration process.

To initiate the call to the third party, the call control 218 causes themobile client to call its enterprise number via its cellular interface206. This call (e.g., a stealth call) to its enterprise number is routedthrough the public network 204 and a call setup message is presented tothe gateway/media server 208. The gateway/media server 208 in turn sendsa SIP invite request to the PBX 210 with an SDP offer describing thesession description information associated with the call from the mobileclient. In response to the invite, the PBX 210 sends an invite to thecontact address of the data interface 216 of the mobile client 200 witha corresponding SDP offer. The PBX 210 does this, as described herein,since the data interface 216 has been registered with the PBX for thecorresponding enterprise number to which the mobile client 200 placedthe stealth call from its cellular interface 206.

In response to recognizing the invite as corresponding to the callinitiated by the mobile client 200, the mobile client sends an invitewith an SDP offer to the third party 202, via the PBX 210. This SDPoffer includes session description information that identifies anaddress and port at the gateway/media server 208 and call sessiondetails associated with the stealth call placed by the mobile client200. The third party responds to the invite from the mobile client datainterface 216 with a reply that also includes a SDP answer withcorresponding SDP information for the media session. In response to thereply and SDP answer, the call control 218 of the mobile client 200issues a reply with SDP answer to the invite from the PBX 210 based onthe reply the mobile client received from the third party 202. The PBX210 in turn sends a reply with an SDP answer to the gateway/media server208, which reply provides a response to the initial invite provided bythe gateway/media server. The gateway/media server 208 subsequentlysends a connect message through the public network 204, whichresponsively issues a call connect message to the cellular interface 206of the mobile client 200. Appropriate acknowledgements are sent from thegateway/media server 208 to the PBX and from the PBX to the datainterface 216 of the mobile client 200 and back from the data interface216 of the mobile client to the third party 202. The acknowledgementscomplete the signaling process resulting in a voice media session beingestablished between the cellular interface 206 of the mobile client 200and the third party 202. Thus, a cellular call leg for the voice mediasession is provided between the mobile client 200 and the third party202, which includes a cellular client call leg between the cellularinterface 206 and gateway/media server 208 and another voice media legconnecting the third party with the gateway/media server.

FIG. 9 depicts a handoff scenario in which the mobile client hands offan on-going voice media session from a cellular radio technology to anon-cellular radio technology (e.g., WiFi or WiMAX) implementedaccording to an aspect of the invention. In FIG. 9 it is presumed thatthe mobile client has previously been registered with the PBX 210 in theenterprise network 212 via an appropriate registration process, such asdescribed herein. Additionally, the scenario of FIG. 9 begins with avoice call established between the mobile client 200 and the third party202, which includes a voice media client call leg connected between thecellular interface 206 of the mobile client and the gateway/media server208 and a voice media leg between the third party and the gateway/mediaserver.

During the established voice media session between the mobile client 200and the third party 202, the call control 218 of the mobile client 200determines that the call should be handed off from the cellular radiotechnology to a different radio technology (e.g., a WiFi or WiMAX radiotechnology) associated with the VoIP interface 214. At this stage, thevoice session includes a cellular client call leg between the cellularinterface 206 and the gateway/media server 208 and an RTP media streambetween the gateway/media server and the third party 202. In response tothe call control 218 detecting the circumstances for requiring thechange in the radio technology, the call control 218 causes a re-inviterequest to be sent from the data interface 216 to the third party 202with an SDP offer associated with the re-invite request. This re-inviterequest is typically sent through the PBX 210, as depicted, as theclient normally does not have a direct route for signaling to the thirdparty 202. As mentioned herein, the data interface provides asubstantially persistent connection with the network 212 (e.g., via acellular data network). The re-invite request includes informationsufficient to identify the on-going voice call, such as by including theglobal unique identifier for the call (e.g., the call-ID). The SDP offerprovided with the re-invite also includes parameters to enable the thirdparty to send the media stream to a different address and portassociated with the mobile client 200, such as an address and portassociated with the VoIP interface 214.

The third party 202 responds to the re-invite request with a reply thatalso includes an SDP answer which includes media session information foruse by the mobile client 200 to enable the voice media session to beestablished between the VoIP interface 214 and the third party 202. Themobile client 200 in turn sends an acknowledgement from the datainterface 216 to the third party 202 to complete the signaling procedureassociated with the re-invite. A termination message, such as a BYErequest message is sent from the data interface to the PBX on a datacall leg facing the cellular call leg from the mobile client to thegateway server. The PBX 210 in turn sends a BYE request message back tothe gateway/media server 208 indicating that the voice media sessionbetween the cellular interface 206 and the gateway/media server 208 isto be disconnected. A reply is provided in response to each BYE message,such as 200 OK acknowledgement message. In response, the gateway/mediaserver 208 sends a disconnect message through the public network 204 toresult in a call disconnect message being provided to the cellularinterface 206 of the mobile client 200. The result of the signaling andtermination of the cellular interface results in a RTP media stream forproviding voice media directly between the VoIP interface 214 of themobile client 200 and the third party 202.

FIG. 10 depicts another scenario in which the third party 202 calls themobile client 200 to establish a voice call when the mobile client cansustain the call using the WiFi voice network. In this situation, thethird party 202 initiates a call to the known enterprise numberassociated with the mobile client 200. The call is routed through thepublic network 204, which initiates a call setup to the gateway/mediaserver 208. The gateway/media server 208 sends an invite request with anSDP offer to the PBX 210. The PBX 210, in response to detecting theenterprise number in the SDP offer portion of the invite, initiates acorresponding in invite to the registered contact address for the datainterface 216 of the mobile client 200.

In response to the call control 218 determining that the mobile clientcan sustain the call via WiFi, the call control causes a reply to besent from the data interface 216 back to the PBX. The reply includes anSDP answer that includes session description information forestablishing the voice call using the VoIP interface 214. The PBX 210 inturn sends a reply back to the gateway/media server 208 with SDP answerthat includes the session description information for establishing thecall between the VoIP interface 214 of the mobile client 200 for thecall initiated by the third party 202. In response to the reply, thegateway/media server 208 sends a connect message to the public network204, which results in a corresponding call connect message being issuedfrom the public network 204 to the third party (corresponding to ananswered call by the mobile client 200). The gateway/media server 208also responds with an acknowledgement sent to the PBX 210 in response tothe reply previously sent by the PBX to the gateway/media server. Inresponse to the acknowledgement from the gateway/media server 208, thePBX 210 sends an acknowledgement back to the data interface 216 forcompleting the signaling associated with establishing a voice mediasession between the mobile client and the third party that initiated thecall. Thus, the mobile client 200 has a single voice client call leg forRTP media between the VoIP interface 214 and gateway/media server 208,which call leg is connected with the third party 202 via a voice mediastream between the gateway/media server and the third party.

FIG. 11 depicts yet another scenario in which a call is received viacellular at the mobile client when no WiFi is determined to be availablefor supporting the voice call. As in the previous scenarios, it ispresumed that the mobile client 200 is registered with the PBX 210 toprovide for signaling between the data interface 216 and the PBX 210.

The third party 202 initiates a call to the enterprise number for themobile client 200, which call is routed via the public network to thegateway/media server 208. In particular, the public network 204 providesa call setup message to the gateway/media server 208 for the call fromthe third party 202. The gateway/media server 208 in turn sends aninvite request (INVITE_RP) with a corresponding SDP offer to the PBX210. To help distinguish between the call leg facing the call initiatedby the remote third party and the call leg facing the stealth call fromthe mobile client, FIG. 11 employs a suffix “RP” to designate the callleg facing the remote third party 202 and a suffix “MC” to designate thecall leg facing the mobile client 200. The PBX 210, upon noting theenterprise number in the invite request (based on the registrationinformation for the mobile client 200), sends a corresponding inviterequest (INVITE_RP) with a corresponding SDP offer to the registeredcontact address for the data interface 216 of the mobile client 200. TheSDP offer includes, for example, information associated with theenterprise number and the third party that initiated the call. The callcontrol 218 of the mobile client 200 determines that the voice calldesired by the third party cannot be sustained at the mobile client 200using the VoIP interface 214, such that the mobile client initiates astealth call to its own enterprise number via the cellular interface206.

The stealth call is routed through the public network 204 resulting in acorresponding call setup message being provided to the gateway/mediaserver 208. The gateway/media server 208 in turn sends a SIP inviterequest (INVITE_MC) to the PBX 210 with an SDP offer describing thesession description parameters associated with the self-initiatedstealth call from the mobile client 200. In response to this invite, thePBX 210 sends a second invite (INVITE_MC) to the contact address of thedata interface 216 of the mobile client 200 with a corresponding SDPoffer. Thus, at this stage, the PBX 210 has sent two separate inviterequests to the mobile client: the first (INVITE_RP) corresponding to aSIP call leg facing the call initiated by the third party to theenterprise number and the second (INVITE_MC) corresponding to a SIP callleg facing the stealth call initiated by the mobile client. However, novoice session has yet been established.

In response to detecting the second invite request (INVITE_MC), the callcontrol 218 causes the mobile client to send a reply (REPLY_MC) with aSDP answer responsive to the second invite request (INVITE_MC). Part ofthis SDP answer contains media parameters received along with the firstinvite request (INVITE_RP). The PBX 210 in turn provides a reply(REPLY_MC) with a SDP answer to the gateway/media server 208. Thegateway/media server 208 provides a connect message (CONNECT_MC) to thepublic network, which causes a corresponding call connect message to bereturned to the cellular interface 206. Additionally, acknowledgmentsare provided to each of the replies (REPLY_MC), namely the gateway/mediaserver 208 provides an acknowledgement (ACK_MC) to the PBX 210 and thePBX provides a corresponding acknowledgement (ACK_MC) to the datainterface 216. The data interface 216 meanwhile provides a “180ringing_RP” response message to the PBX 210 to indicate that the mobileclient 200 is trying to alert the user of an incoming call from thethird party 202, such as by providing a selected ring tone at the mobileclient.

The PBX provides a “180 ringing_RP” response message to thegateway/media server 208 to indicate the mobile client 200 has beenalerted of the incoming call, which results in the gateway/media server208 providing an alert message (ALERTING_RP) through the public network204 to the third party 202 so that the third party can hear a ringbacktone. The user at the mobile client 200 then answers the incoming call,indicated at 220, which results in the data interface 216 providing areply (REPLY_RP) with a SDP answer back to the PBX 210. This reply(REPLY_RP) is provided in response to the first invite request(INVITE_RP) that the PBX 210 provided to the mobile client 200 inresponse to the new call from the third party 202. Part of this SDPanswer contains media parameters received along with the second inviterequest (INVITE_MC). The PBX 210 in turn provides a corresponding reply(REPLY_RP) with a SDP answer to the gateway/media server 208, whichresults in a call connect messages (CONNECT_RP) being provided to thepublic network 204 and to the third party 202.

The gateway/media server 208 provides an acknowledgement message(ACK_RP) to the PBX 210 responsive to the reply message (REPLY_RP),which provides a corresponding acknowledgment (ACK_RP) back to the datainterface 216. This acknowledgement completes the completes thesignaling process resulting in a voice media session being establishedbetween the cellular interface 206 of the mobile client 200 and thethird party 202. Thus, the resulting voice media session includes acellular call leg (VOICE MEDIA) between the mobile client 200 andgateway/media server 208 and a voice media stream between thegateway/media server and the third party.

In view of the foregoing, it will be appreciated that the mobile client200 autonomously controls switching between radio technologies for avoice call in each of the scenarios of FIGS. 7-11. For instance, it willbe appreciated that, in each scenario (FIGS. 7, 8 and 11) in which avoice call is established at the mobile client 200 over its cellularinterface 206 (for both inbound and outbound calls), the mobile clientinitiates a stealth call to itself and signaling is performed to resultin a cellular call leg between the enterprise network 212 and the mobileclient. Additionally, in the scenario where the voice call is switchedfrom cellular to the VoIP interface, the mobile client initiates andcontrols the transfer. Those skilled in the art will understand andappreciate that the signaling examples demonstrate samples of signalingscenarios that may be implemented for a mobile client operatingaccording to an aspect of the invention. Other signaling scenarios couldbe implemented in other embodiments using SIP or other signalingprotocols.

What have been described above are examples and embodiments of theinvention. It is, of course, not possible to describe every conceivablecombination of components or methodologies for purposes of describingthe invention, but one of ordinary skill in the art will recognize thatmany further combinations and permutations of the present invention arepossible. Accordingly, the invention is intended to embrace all suchalterations, modifications and variations that fall within the scope ofthe appended claims. In the claims, unless otherwise indicated, thearticle “a” is to refer to “one or more than one.”

1. A mobile client, comprising: a first voice interface configured tocommunicate voice media via a first radio technology; a second voiceinterface configured to communicate voice media via a second radiotechnology, which is different from the first radio technology; a datainterface configured to communicate data via at least one of the firstradio technology and the second radio technology; and call controlprogrammed to control the data interface to perform signaling from themobile client for establishing parameters for a voice media sessionbetween the mobile client and a third party via a selected one of thefirst voice interface and the second voice interface, the call controlcontrolling the signaling from the mobile client depending on which ofthe first voice interface and the second voice interface the callcontrol determines to utilize for the voice media session.
 2. The mobileclient of claim 1, wherein the call control further comprises a coveragedetection function programmed to provide an indication of voice radiocoverage for the mobile client for at least one of the first radiotechnology and the second radio technology, the call control determiningwhich of the first voice interface and the second voice interface toutilize for the voice media session based on the indication of voiceradio coverage.
 3. The mobile client of claim 2, wherein the radiocoverage detection function further comprises a signal monitorprogrammed to provide the indication of voice radio coverage based onmonitoring a radio signal received via the least one of the first radiotechnology and the second radio technology.
 4. The mobile client ofclaim 2, wherein the radio coverage detection function further comprisesa location monitor programmed to provide the indication of voice radiocoverage based on a location of the mobile client.
 5. The mobile clientof claim 2, wherein the call control further comprises handoff controlthat is programmed to control hand off of an on-going voice mediasession via one of the first voice interface and the second voiceinterface to another of the first voice interface and the second voiceinterface based on the indication of voice radio coverage during theon-going voice media session.
 6. The mobile client of claim 1, whereinthe call control is further programmed to control the first voiceinterface to initiate a stealth call from a cellular interface of themobile client to a predefined enterprise number for the mobile client,the call control causing the data interface to initiate the signalingfrom the mobile client in response to receiving signaling from apredetermined network responsive to the stealth call.
 7. The mobileclient of claim 6, wherein the call control controls the data interfaceto provide the signaling from the mobile client to the third party. 8.The mobile client of claim 7, wherein the call control is programmed tocontrol the first voice interface to initiate the stealth call inresponse to the call control determining that an on-going media sessionbetween the mobile client and the third party cannot be sustainedsufficiently using the second radio technology via the second voiceinterface.
 9. The mobile client of claim 8, wherein, during the on-goingmedia session between the mobile client and the third party via thesecond voice interface, the call control is programmed to control thedata interface to initiate the signaling from the mobile client tochange parameters of the on-going media session between the mobileclient and the third party for handing off the on-going media session atthe mobile client from the second voice interface to the first voiceinterface.
 10. The mobile client of claim 6, further comprising a userinterface that provides a man-machine interface for the mobile client,wherein the stealth call is initiated by the mobile client in responseto dialing the third party at the mobile client via the user interface.11. The mobile client of claim 1, wherein the call control is furtherprogrammed to control the first voice interface to initiate a stealthcall from a cellular interface of the mobile client to a predefinedenterprise number for the mobile client in response to signalingreceived from a predetermined network that is provided in response to acall placed to the mobile client from the third party, the stealth callproviding a client call leg between the first voice interface and alogical endpoint in the predetermined network.
 12. The mobile client ofclaim 11, wherein the call control is programmed to control the datainterface, in response to receiving the signaling from the predeterminednetwork that is provided in response to the stealth call, to performsignaling for connecting a media stream from the third party with thelogical endpoint in the predetermined network to establish the voicemedia session.
 13. The mobile client of claim 11, wherein each of thestealth call and the call placed to the mobile client from the thirdparty are provided to a common public number telephone number associatedwith the mobile client.
 14. The mobile client of claim 1, wherein,during an on-going media session between the mobile client and the thirdparty via the first voice interface, the call control controls the datainterface to initiate signaling in response to determining that theon-going media session between the mobile client and the third party atleast one of (i) can be sustained sufficiently using the second radiotechnology via the second voice interface and (ii) cannot be sustainedsufficiently using the first radio technology via the first voiceinterface.
 15. The mobile client of claim 14, wherein the signalinginitiated by the data interface during the on-going media sessionincludes a request to the third party for changing parameters of theon-going media session to transfer the on-going media session at themobile client from the first voice interface via the first radiotechnology to the second voice interface via the second radiotechnology.
 16. The mobile client of claim 15, wherein the call controlis programmed to control the data interface to perform signaling tocause a first client call leg that is connected between the first voiceinterface and a predetermined network to be disconnected after theon-going media session has been transferred to the second voiceinterface.
 17. The mobile client of claim 1, wherein the first voiceinterface comprises a cellular radio interface for communication via acellular radio technology, and wherein the second voice interfacecomprises a voice over internet protocol interface.
 18. A mobile clientprogrammed to perform a method, the method comprising: determining whichof at least two different radio technologies to employ for a voice mediasession between the mobile client and a third party, a first voiceinterface of the mobile client providing for voice communication via afirst radio technology of the at least two different radio technologiesand a second voice interface of the mobile client providing for voicecommunication via a second radio technology of the at least twodifferent radio technologies; controlling a signaling interface of themobile client, based on at least in part on the determination, toprovide signaling to at least one of the third party and a predeterminednetwork, the signaling being controlled for at least one of: (i)establishing the voice media session between the mobile client and thethird party via a selected one of the first voice interface and thesecond voice interface; and (ii) transferring an on-going media sessionbetween the mobile client and the third party from one of the firstvoice interface and the second voice interface to another of the firstvoice interface and the second voice interface.
 19. The mobile client ofclaim 18, wherein the determination of which of the at least twodifferent radio technologies to employ for the voice media sessionbetween the mobile client and the third party is made in response to astimulus received at the mobile client.
 20. The mobile client of claim19, wherein the stimulus comprises a user input provided to the mobileclient, the method further comprising: initiating, in response to theuser input provided at the mobile client, a call from the mobile clientto a predefined enterprise number for the mobile client via the firstvoice interface to establish a first client call leg, the first clientcall leg providing a logical connection between the first voiceinterface and a first logical endpoint in the predetermined network, themobile client being registered with the predetermined network; receivingat the signaling interface a signaling request from the predeterminednetwork in response to the call from the mobile client to the predefinedenterprise number for the mobile client; and sending a signaling requestfrom the mobile client to the third party for establishing the voicemedia session between the mobile client and the third party, the voicemedia session including the first client call leg via the first voiceinterface another call leg between the first logical endpoint and thethird party.
 21. The mobile client of claim 19, the method furthercomprising: receiving at the signaling interface a first signalingrequest from the predetermined network in response a call from the thirdparty to a known telephone number associated with the mobile client, thefirst signaling request defining the stimulus; initiating, in responseto the first signaling request, a call from the mobile client to apredefined enterprise number for the mobile client via the first voiceinterface to provide a first client call leg between the mobile clientand the predetermined network; receiving at the signaling interface asecond signaling request from the predetermined network in response tothe call from the mobile client to itself; controlling the signalinginterface to perform signaling responsive to the first signaling requestand the second signaling request for establishing the voice mediasession between the mobile client and the third party, the voice mediasession including the first client call leg via the first voiceinterface another call leg between the predetermined network and thethird party.
 22. The mobile client of claim 21, wherein prior toinitiating the call from the mobile client to the predefined enterprisenumber for the mobile client, the method further comprises determiningat the mobile client that the voice media session cannot be sustainedsufficiently using the second voice interface, the call from the mobileclient to the predefined enterprise number for the mobile client beinginitiated and the signaling interface being controlled in response thedetermination that the voice media session cannot be sustainedsufficiently using the second voice interface.
 23. The mobile client ofclaim 18, the method further comprising: providing an indication ofvoice radio coverage for the mobile client using at least one of thefirst radio technology and the second radio technology, a change in theindication of voice radio coverage defining a stimulus; and thedetermination as to which of the first voice interface and the secondvoice interface to utilize for the voice media session being made basedat least in part on the stimulus.
 24. The mobile client of claim 23,wherein during an on-going voice media session between the mobile clientvia the second voice interface and the third party, the method furthercomprises: initiating a call from the mobile client to a predefinedenterprise number for the mobile client via the first voice interface,in response to the stimulus, to provide a first client call leg betweenthe first voice interface of the mobile client and a logical endpoint inthe predetermined network; receiving at the signaling interface asignaling request from the predetermined network in response to the callfrom the mobile client to the predefined enterprise number for themobile client; and controlling the signaling interface to performsignaling for changing parameters of the on-going voice media sessionbetween the mobile client and the third party; and connecting the firstclient call leg with a media stream from the third party for theon-going media session, based on the signaling performed by thesignaling interface, such that the on-going voice media session ishanded off at the mobile client from the second voice interface to thefirst voice interface.
 25. The mobile client of claim 23, wherein duringan on-going voice media session between the mobile client via the firstvoice interface and the third party, the method further comprises:initiating a signaling request from the mobile client to the third partyfor changing parameters of the on-going voice media session between themobile client via the first voice interface and the third party so thata client call leg of the on-going voice media session is transferred atthe mobile client to the second voice interface, the signaling requestbeing initiated in response to the stimulus indicating that the on-goingvoice media session can be sustained between the mobile client and thethird party using the second voice interface.
 26. The mobile client ofclaim 18, wherein the first voice interface comprises a cellular radiointerface for communication via a cellular radio technology.
 27. Themobile client of claim 26, wherein the signaling interface is configuredto provide substantially persistent data communication with thepredetermined network, the signaling interface having a contact addressregistered with at least one node of the predetermined network, thecontact address defining a logical endpoint for the mobile client in thepredetermined network.
 28. A method comprising: initiating a call from awireless mobile client to a predefined number associated with the mobileclient via a first voice interface to establish a first client call leg,the first client call leg providing a logical connection between thefirst voice interface and a predetermined network; responding at thewireless mobile client to signaling received from the predeterminednetwork at a signaling interface of the wireless mobile client forestablishing a second client call leg having a logical endpoint at thesignaling interface of the wireless mobile client, the signalingreceived from the predetermined network being provided in response tothe call from the wireless mobile client to the predefined number, thesignaling interface providing a substantially persistent connectionbetween the mobile client and the predetermined network; and performingsignaling via the signaling interface to establish a voice media sessionbetween the wireless mobile client and a third party that includes alogical endpoint in the predetermined network, the signaling performedvia the signaling interface being controlled to establish the voicemedia session based on a determination made by the mobile client. 29.The method of claim 28, wherein the logical connection is a firstlogical connection, the method further comprising establishing a thirdclient call leg to provide a second logical connection between a secondvoice interface of the wireless mobile client and the predeterminednetwork, the second voice interface employing a different radiotechnology from the first voice interface.
 30. The method of claim 29,wherein the third client call leg is established prior to initiating thecall from the wireless mobile client to the predefined number, themethod further comprising registering the wireless mobile client withthe predetermined network via signaling from the signaling interface toestablish a contact address for the wireless mobile client in thepredetermined network.
 31. The method of claim 30, wherein the signalingprovided from the predetermined network comprises a first signalingrequest, the method further comprising receiving a second signalingrequest that is provided from the predetermined network to the contactaddress for the wireless mobile client in response to an incoming callfrom the third party to a telephone number for the wireless mobileclient to establish the third client call leg.
 32. The method of claim31, wherein in response to establishing the third client call legbetween the predetermined network and the wireless mobile client, themethod further comprises: determining at the wireless mobile clientwhether the voice media session can be sustained between the wirelessmobile client and the third party via the second voice interface; andwherein the call from the wireless mobile client to the predefinednumber is initiated at the wireless mobile client in response todetermining that the voice media session cannot be sustainedsufficiently using the second voice interface.
 33. The method of claim32, wherein the first voice interface comprises a cellular interface,such that the first client call leg comprises a cellular call leg thatprovides the first logical connection between the cellular interface ofthe wireless mobile client and a designated address of the predeterminednetwork using a cellular radio technology, wherein the first signalingrequest is received at the contact address for the wireless mobileclient, wherein a portion of the voice media session between thewireless mobile client and the third party is established to include thecellular call leg in response to the signaling interface performedsignaling via at least one of the second client call leg and the thirdclient call leg.
 34. The method of claim 28, wherein during an ongoingvoice media session established between the third party and the wirelessmobile client via the first voice interface, and wherein the signalingprovided from the predetermined network comprises a first signalingrequest, the method further comprises: determining at the wirelessmobile client whether the voice media session can be sustained betweenthe wireless mobile client and the third party using a second voiceinterface, the second voice interface employing a different radiotechnology from the first voice interface; sending a second signalingrequest from the wireless mobile client to the third party to change atleast one parameter of the voice media session between the third partyand the wireless mobile client for transferring the ongoing voice mediasession at the wireless mobile client from the first voice interface tothe second voice interface.
 35. The method of claim 29, wherein thesignaling provided from the predetermined network comprises a firstsignaling request, the method further comprising: sending, from thesignaling interface to the predetermined network, a second signalingrequest for establishing the voice media session between the third partyand the first voice interface by replacing the third client call legwith the first client call leg, the second signaling request being sentin response to the first signaling request.
 36. The method of claim 35,wherein the first voice interface comprises a cellular radio interface,such that the first client call leg comprises a cellular call leg thatprovides the logical connection between the cellular radio interface anda designated address in the predetermined network using a cellular radiotechnology; and wherein the wireless mobile client further comprises asecond voice interface that comprises a wireless internet protocolinterface that employs a radio technology that is different from thecellular radio technology, whereby the second signaling request resultsin handover from the radio technology that is different from thecellular radio technology to the cellular radio technology.
 37. Themethod of claim 28, wherein the signaling provided from thepredetermined network comprises a first signaling request that isprovided in response to the call from the wireless mobile client to theenterprise number, the method further comprising sending a secondsignaling request from the signaling interface of the wireless mobileclient for establishing the voice media session between the wirelessmobile client and the third party via the first voice interface.
 38. Themethod of claim 37, wherein the first voice interface comprises acellular radio interface, such that the first client call leg comprisesa cellular call leg that provides the logical connection between thecellular radio interface and a designated address in the predeterminednetwork using a cellular radio technology, the cellular call legdefining part of the voice media session between the wireless mobileclient and the third party.
 39. The method of claim 28, wherein thewireless mobile client has at least two different telephone numbers, oneof the at least two different telephone numbers being a private cellulartelephone number and another of the at least two different telephonenumbers being an enterprise telephone number for the wireless mobileclient for an enterprise that includes the predetermined network, thepredefined number defining the enterprise telephone number the call fromthe wireless mobile client to the predefined number being placed to theenterprise telephone number.